Circuits for modern electronics are increasingly required to provide higher levels of functionality and circuits with communication ports are often used to set critical parameters. Despite the high levels of functionality required, many legacy applications use only one or two pins for control. As an example, a single pin interface is often used as a signal line in tight cell phone hinge areas where space is at a premium. New generations of parts in those legacy applications must still use one or two pins for the interface.
In a single-wire serial protocol, the pattern must convey both the polarity of the data as well as the data clock. To accomplish this, some known single-wire serial communication protocols use pulse counting. In these protocols, a pattern of pulses separated by a pause is received and the receiver counts the pulses after the pause. The count becomes the value for that packet of pulses. Repeating the pattern sends several values to the receiver for processing commands. Counting pulses however is an inherently inefficient technique. Some other protocols include pulse width modulation to differentiate high and low bits by high and low duty cycle. In a circuit requiring resolution of duty cycle, both measurement of the period as well as the pulse width are necessary to determine the difference between a high or a low. These methods require an entire period for duty cycle estimation and have inherent inefficiencies.
Typical prior art single-wire interface protocols require relatively large amounts of complex circuitry to implement. An elegant single-wire serial protocol capable of efficient implementation is described below.